package cn.iocoder.yudao.module.dify.controller.admin.translationtaskfile.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import javax.validation.constraints.*;

@Schema(description = "管理后台 -  翻译工作流任务文件新增/修改 Request VO")
@Data
public class TranslationTaskFileSaveReqVO {

    @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "8289")
    private Long id;

    @Schema(description = "翻译任务id", requiredMode = Schema.RequiredMode.REQUIRED, example = "13172")
    @NotNull(message = "翻译任务id不能为空")
    private Long difyTranslationTaskRecordsId;

    @Schema(description = "用户的文件id,如果使用dify是dify的文件id", example = "8945")
    private String fileId;

    @Schema(description = "原始文件名", example = "李四")
    private String originalName;

    @Schema(description = "源文件下载URL", requiredMode = Schema.RequiredMode.REQUIRED, example = "https://www.iocoder.cn")
    @NotEmpty(message = "源文件下载URL不能为空")
    private String originalUrl;

    @Schema(description = "成功后文档的MinIO访问URL", example = "https://www.iocoder.cn")
    private String minioUrl;

    @Schema(description = "总使用 tokens")
    private Long totalTokens;

    @Schema(description = "处理状态:0-待处理,1-处理中,2-处理成功,3-处理失败", example = "1")
    private Integer processStatus;

    @Schema(description = "重试次数", example = "22962")
    private Integer retryCount;

    @Schema(description = "审核状态:1-未审核,2-已审核,3-提交审核", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    @NotNull(message = "审核状态:1-未审核,2-已审核,3-提交审核不能为空")
    private Integer reviewStatus;

    @Schema(description = "审核文件url", example = "https://www.iocoder.cn")
    private String reviewUrl;

}